8faf8c8dbae9fba75835548e3501014eb999dac8,opennms-ackd/src/main/java/org/opennms/netmgt/ackd/readers/JavaMailAckReaderImpl.java,JavaMailAckReaderImpl,scheduleReads,#,94

Before Change


    
    private void scheduleReads() {
        
        if (m_schedule == null) {
            m_schedule = ReaderSchedule.createSchedule();
        }
        
        m_executor.scheduleWithFixedDelay(MailAckProcessor.getInstance(), m_schedule.getInitialDelay(), 
                                          m_schedule.getInterval(), m_schedule.getUnit());
    }
    
    public void setReaderSchedule(ReaderSchedule schedule) {

After Change


    protected void scheduleReads() {
        log().debug("scheduleReads: attempting to acquire lock...");
        
        ReaderSchedule schedule = ReaderSchedule.createSchedule();
        
        synchronized (m_lock) {
            log().debug("scheduleReads: acquired lock, creating schedule...");
            
            m_executor.scheduleWithFixedDelay(getMailAckProcessor(), schedule.getInitialDelay(), 
                                              schedule.getInterval(), schedule.getUnit());
            
        }
        
        log().debug("scheduleReads: exited lock, schedule updated.");
        log().debug("scheduleReads: schedule is:" +
        		    " attempts remaining: "+schedule.getAttemptsRemaining()+
        		    "; initial delay: "+schedule.getInitialDelay()+
        		    "; interval: "+schedule.getInterval()+
        		    "; unit: "+schedule.getUnit());
        
        log().debug("scheduleReads: executor details:"+
                    " active count: "+m_executor.getActiveCount()+